// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL     : http://mfile.fax99.com/Fax99WebServiceToESI/Fax99WebServiceJobToESI.asmx?wsdl
//  >Import : http://mfile.fax99.com/Fax99WebServiceToESI/Fax99WebServiceJobToESI.asmx?wsdl:0
// Encoding : utf-8
// Version  : 1.0
// (2008-2-2 18:45:01 - - $Rev: 9734 $)
// ************************************************************************ //

unit Fax99WebServiceJobToESI;

interface

uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns;

const
  IS_OPTN = $0001;
  IS_UNBD = $0002;
  IS_NLBL = $0004;


type

  // ************************************************************************ //
  // The following types, referred to in the WSDL document are not being represented
  // in this file. They are either aliases[@] of other types represented or were referred
  // to but never[!] declared in the document. The types from the latter category
  // typically map to predefined/known XML or Borland types; however, they could also 
  // indicate incorrect WSDL documents that failed to declare or import a schema type.
  // ************************************************************************ //
  // !:string          - "http://www.w3.org/2001/XMLSchema"[Gbl]
  // !:int             - "http://www.w3.org/2001/XMLSchema"[Gbl]
  // !:base64Binary    - "http://www.w3.org/2001/XMLSchema"[Gbl]

  FaxContactor         = class;                 { "http://soap.model.service.fax99.com"[GblCplx] }
  Fax                  = class;                 { "http://soap.model.service.fax99.com"[GblCplx] }
  FaxFile              = class;                 { "http://soap.model.service.fax99.com"[GblCplx] }
  EFaxResult           = class;                 { "http://soap.model.service.fax99.com"[GblCplx] }
  SendFaxJobWrapper    = class;                 { "http://soap.model.service.fax99.com"[Lit][GblElm] }
  SendFaxJobResultWrapper = class;              { "http://soap.model.service.fax99.com"[Lit][GblElm] }
  queryMultiFaxWrapper = class;                 { "http://soap.model.service.fax99.com"[Lit][GblElm] }
  QueryMultiFaxResultWrapper = class;           { "http://soap.model.service.fax99.com"[Lit][GblElm] }
  EFaxResult2          = class;                 { "http://soap.model.service.fax99.com"[GblElm] }

  ArrayOfFaxContactor = array of FaxContactor;   { "http://soap.model.service.fax99.com"[GblCplx] }


  // ************************************************************************ //
  // XML       : FaxContactor, global, <complexType>
  // Namespace : http://soap.model.service.fax99.com
  // ************************************************************************ //
  FaxContactor = class(TRemotable)
  private
    FcontactorID: WideString;
    FcontactorID_Specified: boolean;
    Fcontactor: WideString;
    Fcontactor_Specified: boolean;
    FfaxNumber: WideString;
    FfaxNumber_Specified: boolean;
    Fcompany: WideString;
    Fcompany_Specified: boolean;
    procedure SetcontactorID(Index: Integer; const AWideString: WideString);
    function  contactorID_Specified(Index: Integer): boolean;
    procedure Setcontactor(Index: Integer; const AWideString: WideString);
    function  contactor_Specified(Index: Integer): boolean;
    procedure SetfaxNumber(Index: Integer; const AWideString: WideString);
    function  faxNumber_Specified(Index: Integer): boolean;
    procedure Setcompany(Index: Integer; const AWideString: WideString);
    function  company_Specified(Index: Integer): boolean;
  published
    property contactorID: WideString  Index (IS_OPTN) read FcontactorID write SetcontactorID stored contactorID_Specified;
    property contactor:   WideString  Index (IS_OPTN) read Fcontactor write Setcontactor stored contactor_Specified;
    property faxNumber:   WideString  Index (IS_OPTN) read FfaxNumber write SetfaxNumber stored faxNumber_Specified;
    property company:     WideString  Index (IS_OPTN) read Fcompany write Setcompany stored company_Specified;
  end;

  ArrayOfFaxFile = array of FaxFile;            { "http://soap.model.service.fax99.com"[GblCplx] }


  // ************************************************************************ //
  // XML       : Fax, global, <complexType>
  // Namespace : http://soap.model.service.fax99.com
  // ************************************************************************ //
  Fax = class(TRemotable)
  private
    Fsender: FaxContactor;
    Fsender_Specified: boolean;
    Freceiver: ArrayOfFaxContactor;
    Freceiver_Specified: boolean;
    FsendTime: WideString;
    FsendTime_Specified: boolean;
    Ffiles: ArrayOfFaxFile;
    Ffiles_Specified: boolean;
    FresendTimes: Integer;
    FresendDelay: Integer;
    procedure Setsender(Index: Integer; const AFaxContactor: FaxContactor);
    function  sender_Specified(Index: Integer): boolean;
    procedure Setreceiver(Index: Integer; const AArrayOfFaxContactor: ArrayOfFaxContactor);
    function  receiver_Specified(Index: Integer): boolean;
    procedure SetsendTime(Index: Integer; const AWideString: WideString);
    function  sendTime_Specified(Index: Integer): boolean;
    procedure Setfiles(Index: Integer; const AArrayOfFaxFile: ArrayOfFaxFile);
    function  files_Specified(Index: Integer): boolean;
  public
    destructor Destroy; override;
  published
    property sender:      FaxContactor         Index (IS_OPTN) read Fsender write Setsender stored sender_Specified;
    property receiver:    ArrayOfFaxContactor  Index (IS_OPTN) read Freceiver write Setreceiver stored receiver_Specified;
    property sendTime:    WideString           Index (IS_OPTN) read FsendTime write SetsendTime stored sendTime_Specified;
    property files:       ArrayOfFaxFile       Index (IS_OPTN) read Ffiles write Setfiles stored files_Specified;
    property resendTimes: Integer              read FresendTimes write FresendTimes;
    property resendDelay: Integer              read FresendDelay write FresendDelay;
  end;



  // ************************************************************************ //
  // XML       : FaxFile, global, <complexType>
  // Namespace : http://soap.model.service.fax99.com
  // ************************************************************************ //
  FaxFile = class(TRemotable)
  private
    Ffile_: TByteDynArray;
    Ffile__Specified: boolean;
    FfileName: WideString;
    FfileName_Specified: boolean;
    FfileURL: WideString;
    FfileURL_Specified: boolean;
    FfileType: WideString;
    FfileType_Specified: boolean;
    FfaxPages: Integer;
    procedure Setfile_(Index: Integer; const ATByteDynArray: TByteDynArray);
    function  file__Specified(Index: Integer): boolean;
    procedure SetfileName(Index: Integer; const AWideString: WideString);
    function  fileName_Specified(Index: Integer): boolean;
    procedure SetfileURL(Index: Integer; const AWideString: WideString);
    function  fileURL_Specified(Index: Integer): boolean;
    procedure SetfileType(Index: Integer; const AWideString: WideString);
    function  fileType_Specified(Index: Integer): boolean;
  published
    property file_:    TByteDynArray  Index (IS_OPTN) read Ffile_ write Setfile_ stored file__Specified;
    property fileName: WideString     Index (IS_OPTN) read FfileName write SetfileName stored fileName_Specified;
    property fileURL:  WideString     Index (IS_OPTN) read FfileURL write SetfileURL stored fileURL_Specified;
    property fileType: WideString     Index (IS_OPTN) read FfileType write SetfileType stored fileType_Specified;
    property faxPages: Integer        read FfaxPages write FfaxPages;
  end;



  // ************************************************************************ //
  // XML       : EFaxResult, global, <complexType>
  // Namespace : http://soap.model.service.fax99.com
  // ************************************************************************ //
  EFaxResult = class(TRemotable)
  private
    FresultCode: Integer;
    FresultInfo: WideString;
    FresultInfo_Specified: boolean;
    procedure SetresultInfo(Index: Integer; const AWideString: WideString);
    function  resultInfo_Specified(Index: Integer): boolean;
  published
    property resultCode: Integer     read FresultCode write FresultCode;
    property resultInfo: WideString  Index (IS_OPTN) read FresultInfo write SetresultInfo stored resultInfo_Specified;
  end;



  // ************************************************************************ //
  // XML       : SendFaxJobWrapper, global, <element>
  // Namespace : http://soap.model.service.fax99.com
  // Serializtn: [xoLiteralParam]
  // Info      : Wrapper
  // ************************************************************************ //
  SendFaxJobWrapper = class(TRemotable)
  private
    FagentUserID: WideString;
    FagentUserID_Specified: boolean;
    FpassWord: WideString;
    FpassWord_Specified: boolean;
    Ffax: Fax;
    Ffax_Specified: boolean;
    FappCode: WideString;
    FappCode_Specified: boolean;
    procedure SetagentUserID(Index: Integer; const AWideString: WideString);
    function  agentUserID_Specified(Index: Integer): boolean;
    procedure SetpassWord(Index: Integer; const AWideString: WideString);
    function  passWord_Specified(Index: Integer): boolean;
    procedure Setfax(Index: Integer; const AFax: Fax);
    function  fax_Specified(Index: Integer): boolean;
    procedure SetappCode(Index: Integer; const AWideString: WideString);
    function  appCode_Specified(Index: Integer): boolean;
  public
    constructor Create; override;
    destructor Destroy; override;
  published
    property agentUserID: WideString  Index (IS_OPTN) read FagentUserID write SetagentUserID stored agentUserID_Specified;
    property passWord:    WideString  Index (IS_OPTN) read FpassWord write SetpassWord stored passWord_Specified;
    property fax:         Fax         Index (IS_OPTN) read Ffax write Setfax stored fax_Specified;
    property appCode:     WideString  Index (IS_OPTN) read FappCode write SetappCode stored appCode_Specified;
  end;



  // ************************************************************************ //
  // XML       : SendFaxJobResultWrapper, global, <element>
  // Namespace : http://soap.model.service.fax99.com
  // Serializtn: [xoLiteralParam]
  // Info      : Wrapper
  // ************************************************************************ //
  SendFaxJobResultWrapper = class(TRemotable)
  private
    FsendFaxJobResult: EFaxResult;
    FsendFaxJobResult_Specified: boolean;
    procedure SetsendFaxJobResult(Index: Integer; const AEFaxResult: EFaxResult);
    function  sendFaxJobResult_Specified(Index: Integer): boolean;
  public
    constructor Create; override;
    destructor Destroy; override;
  published
    property sendFaxJobResult: EFaxResult  Index (IS_OPTN) read FsendFaxJobResult write SetsendFaxJobResult stored sendFaxJobResult_Specified;
  end;



  // ************************************************************************ //
  // XML       : queryMultiFaxWrapper, global, <element>
  // Namespace : http://soap.model.service.fax99.com
  // Serializtn: [xoLiteralParam]
  // Info      : Wrapper
  // ************************************************************************ //
  queryMultiFaxWrapper = class(TRemotable)
  private
    FagentUserID: WideString;
    FagentUserID_Specified: boolean;
    FpassWord: WideString;
    FpassWord_Specified: boolean;
    FuserID: WideString;
    FuserID_Specified: boolean;
    FbatchNO: WideString;
    FbatchNO_Specified: boolean;
    FfaxIDS: WideString;
    FfaxIDS_Specified: boolean;
    FappCode: WideString;
    FappCode_Specified: boolean;
    procedure SetagentUserID(Index: Integer; const AWideString: WideString);
    function  agentUserID_Specified(Index: Integer): boolean;
    procedure SetpassWord(Index: Integer; const AWideString: WideString);
    function  passWord_Specified(Index: Integer): boolean;
    procedure SetuserID(Index: Integer; const AWideString: WideString);
    function  userID_Specified(Index: Integer): boolean;
    procedure SetbatchNO(Index: Integer; const AWideString: WideString);
    function  batchNO_Specified(Index: Integer): boolean;
    procedure SetfaxIDS(Index: Integer; const AWideString: WideString);
    function  faxIDS_Specified(Index: Integer): boolean;
    procedure SetappCode(Index: Integer; const AWideString: WideString);
    function  appCode_Specified(Index: Integer): boolean;
  public
    constructor Create; override;
  published
    property agentUserID: WideString  Index (IS_OPTN) read FagentUserID write SetagentUserID stored agentUserID_Specified;
    property passWord:    WideString  Index (IS_OPTN) read FpassWord write SetpassWord stored passWord_Specified;
    property userID:      WideString  Index (IS_OPTN) read FuserID write SetuserID stored userID_Specified;
    property batchNO:     WideString  Index (IS_OPTN) read FbatchNO write SetbatchNO stored batchNO_Specified;
    property faxIDS:      WideString  Index (IS_OPTN) read FfaxIDS write SetfaxIDS stored faxIDS_Specified;
    property appCode:     WideString  Index (IS_OPTN) read FappCode write SetappCode stored appCode_Specified;
  end;



  // ************************************************************************ //
  // XML       : QueryMultiFaxResultWrapper, global, <element>
  // Namespace : http://soap.model.service.fax99.com
  // Serializtn: [xoLiteralParam]
  // Info      : Wrapper
  // ************************************************************************ //
  QueryMultiFaxResultWrapper = class(TRemotable)
  private
    FqueryMultiFaxResult: EFaxResult;
    FqueryMultiFaxResult_Specified: boolean;
    procedure SetqueryMultiFaxResult(Index: Integer; const AEFaxResult: EFaxResult);
    function  queryMultiFaxResult_Specified(Index: Integer): boolean;
  public
    constructor Create; override;
    destructor Destroy; override;
  published
    property queryMultiFaxResult: EFaxResult  Index (IS_OPTN) read FqueryMultiFaxResult write SetqueryMultiFaxResult stored queryMultiFaxResult_Specified;
  end;



  // ************************************************************************ //
  // XML       : EFaxResult, global, <element>
  // Namespace : http://soap.model.service.fax99.com
  // ************************************************************************ //
  EFaxResult2 = class(EFaxResult)
  private
  published
  end;


  // ************************************************************************ //
  // Namespace : http://soap.model.service.fax99.com
  // soapAction: http://soap.model.service.fax99.com/%operationName%
  // transport : http://schemas.xmlsoap.org/soap/http
  // style     : document
  // binding   : Fax99WebServiceJobToESISoap
  // service   : Fax99WebServiceJobToESI
  // port      : Fax99WebServiceJobToESISoap
  // URL       : http://mfile.fax99.com/Fax99WebServiceToESI/Fax99WebServiceJobToESI.asmx
  // ************************************************************************ //
  Fax99WebServiceJobToESISoap = interface(IInvokable)
  ['{6F12E5C0-DD6C-A699-966A-AC97F4DB0957}']

    // Cannot unwrap: 
    //     - Input element wrapper name does not match operation's name
    function  sendFaxJob(const parameters: SendFaxJobWrapper): SendFaxJobResultWrapper; stdcall;

    // Cannot unwrap: 
    //     - Input element wrapper name does not match operation's name
    function  queryMultiFax(const parameters: queryMultiFaxWrapper): QueryMultiFaxResultWrapper; stdcall;
  end;

function GetFax99WebServiceJobToESISoap(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): Fax99WebServiceJobToESISoap;


implementation
  uses SysUtils;

function GetFax99WebServiceJobToESISoap(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): Fax99WebServiceJobToESISoap;
const
  defWSDL = 'http://mfile.fax99.com/Fax99WebServiceToESI/Fax99WebServiceJobToESI.asmx?wsdl';
  defURL  = 'http://mfile.fax99.com/Fax99WebServiceToESI/Fax99WebServiceJobToESI.asmx';
  defSvc  = 'Fax99WebServiceJobToESI';
  defPrt  = 'Fax99WebServiceJobToESISoap';
var
  RIO: THTTPRIO;
begin
  Result := nil;
  if (Addr = '') then
  begin
    if UseWSDL then
      Addr := defWSDL
    else
      Addr := defURL;
  end;
  if HTTPRIO = nil then
    RIO := THTTPRIO.Create(nil)
  else
    RIO := HTTPRIO;
  try
    Result := (RIO as Fax99WebServiceJobToESISoap);
    if UseWSDL then
    begin
      RIO.WSDLLocation := Addr;
      RIO.Service := defSvc;
      RIO.Port := defPrt;
    end else
      RIO.URL := Addr;
  finally
    if (Result = nil) and (HTTPRIO = nil) then
      RIO.Free;
  end;
end;


procedure FaxContactor.SetcontactorID(Index: Integer; const AWideString: WideString);
begin
  FcontactorID := AWideString;
  FcontactorID_Specified := True;
end;

function FaxContactor.contactorID_Specified(Index: Integer): boolean;
begin
  Result := FcontactorID_Specified;
end;

procedure FaxContactor.Setcontactor(Index: Integer; const AWideString: WideString);
begin
  Fcontactor := AWideString;
  Fcontactor_Specified := True;
end;

function FaxContactor.contactor_Specified(Index: Integer): boolean;
begin
  Result := Fcontactor_Specified;
end;

procedure FaxContactor.SetfaxNumber(Index: Integer; const AWideString: WideString);
begin
  FfaxNumber := AWideString;
  FfaxNumber_Specified := True;
end;

function FaxContactor.faxNumber_Specified(Index: Integer): boolean;
begin
  Result := FfaxNumber_Specified;
end;

procedure FaxContactor.Setcompany(Index: Integer; const AWideString: WideString);
begin
  Fcompany := AWideString;
  Fcompany_Specified := True;
end;

function FaxContactor.company_Specified(Index: Integer): boolean;
begin
  Result := Fcompany_Specified;
end;

destructor Fax.Destroy;
var
  I: Integer;
begin
  for I := 0 to Length(Freceiver)-1 do
    FreeAndNil(Freceiver[I]);
  SetLength(Freceiver, 0);
  for I := 0 to Length(Ffiles)-1 do
    FreeAndNil(Ffiles[I]);
  SetLength(Ffiles, 0);
  FreeAndNil(Fsender);
  inherited Destroy;
end;

procedure Fax.Setsender(Index: Integer; const AFaxContactor: FaxContactor);
begin
  Fsender := AFaxContactor;
  Fsender_Specified := True;
end;

function Fax.sender_Specified(Index: Integer): boolean;
begin
  Result := Fsender_Specified;
end;

procedure Fax.Setreceiver(Index: Integer; const AArrayOfFaxContactor: ArrayOfFaxContactor);
begin
  Freceiver := AArrayOfFaxContactor;
  Freceiver_Specified := True;
end;

function Fax.receiver_Specified(Index: Integer): boolean;
begin
  Result := Freceiver_Specified;
end;

procedure Fax.SetsendTime(Index: Integer; const AWideString: WideString);
begin
  FsendTime := AWideString;
  FsendTime_Specified := True;
end;

function Fax.sendTime_Specified(Index: Integer): boolean;
begin
  Result := FsendTime_Specified;
end;

procedure Fax.Setfiles(Index: Integer; const AArrayOfFaxFile: ArrayOfFaxFile);
begin
  Ffiles := AArrayOfFaxFile;
  Ffiles_Specified := True;
end;

function Fax.files_Specified(Index: Integer): boolean;
begin
  Result := Ffiles_Specified;
end;

procedure FaxFile.Setfile_(Index: Integer; const ATByteDynArray: TByteDynArray);
begin
  Ffile_ := ATByteDynArray;
  Ffile__Specified := True;
end;

function FaxFile.file__Specified(Index: Integer): boolean;
begin
  Result := Ffile__Specified;
end;

procedure FaxFile.SetfileName(Index: Integer; const AWideString: WideString);
begin
  FfileName := AWideString;
  FfileName_Specified := True;
end;

function FaxFile.fileName_Specified(Index: Integer): boolean;
begin
  Result := FfileName_Specified;
end;

procedure FaxFile.SetfileURL(Index: Integer; const AWideString: WideString);
begin
  FfileURL := AWideString;
  FfileURL_Specified := True;
end;

function FaxFile.fileURL_Specified(Index: Integer): boolean;
begin
  Result := FfileURL_Specified;
end;

procedure FaxFile.SetfileType(Index: Integer; const AWideString: WideString);
begin
  FfileType := AWideString;
  FfileType_Specified := True;
end;

function FaxFile.fileType_Specified(Index: Integer): boolean;
begin
  Result := FfileType_Specified;
end;

procedure EFaxResult.SetresultInfo(Index: Integer; const AWideString: WideString);
begin
  FresultInfo := AWideString;
  FresultInfo_Specified := True;
end;

function EFaxResult.resultInfo_Specified(Index: Integer): boolean;
begin
  Result := FresultInfo_Specified;
end;

constructor SendFaxJobWrapper.Create;
begin
  inherited Create;
  FSerializationOptions := [xoLiteralParam];
end;

destructor SendFaxJobWrapper.Destroy;
begin
  FreeAndNil(Ffax);
  inherited Destroy;
end;

procedure SendFaxJobWrapper.SetagentUserID(Index: Integer; const AWideString: WideString);
begin
  FagentUserID := AWideString;
  FagentUserID_Specified := True;
end;

function SendFaxJobWrapper.agentUserID_Specified(Index: Integer): boolean;
begin
  Result := FagentUserID_Specified;
end;

procedure SendFaxJobWrapper.SetpassWord(Index: Integer; const AWideString: WideString);
begin
  FpassWord := AWideString;
  FpassWord_Specified := True;
end;

function SendFaxJobWrapper.passWord_Specified(Index: Integer): boolean;
begin
  Result := FpassWord_Specified;
end;

procedure SendFaxJobWrapper.Setfax(Index: Integer; const AFax: Fax);
begin
  Ffax := AFax;
  Ffax_Specified := True;
end;

function SendFaxJobWrapper.fax_Specified(Index: Integer): boolean;
begin
  Result := Ffax_Specified;
end;

procedure SendFaxJobWrapper.SetappCode(Index: Integer; const AWideString: WideString);
begin
  FappCode := AWideString;
  FappCode_Specified := True;
end;

function SendFaxJobWrapper.appCode_Specified(Index: Integer): boolean;
begin
  Result := FappCode_Specified;
end;

constructor SendFaxJobResultWrapper.Create;
begin
  inherited Create;
  FSerializationOptions := [xoLiteralParam];
end;

destructor SendFaxJobResultWrapper.Destroy;
begin
  FreeAndNil(FsendFaxJobResult);
  inherited Destroy;
end;

procedure SendFaxJobResultWrapper.SetsendFaxJobResult(Index: Integer; const AEFaxResult: EFaxResult);
begin
  FsendFaxJobResult := AEFaxResult;
  FsendFaxJobResult_Specified := True;
end;

function SendFaxJobResultWrapper.sendFaxJobResult_Specified(Index: Integer): boolean;
begin
  Result := FsendFaxJobResult_Specified;
end;

constructor queryMultiFaxWrapper.Create;
begin
  inherited Create;
  FSerializationOptions := [xoLiteralParam];
end;

procedure queryMultiFaxWrapper.SetagentUserID(Index: Integer; const AWideString: WideString);
begin
  FagentUserID := AWideString;
  FagentUserID_Specified := True;
end;

function queryMultiFaxWrapper.agentUserID_Specified(Index: Integer): boolean;
begin
  Result := FagentUserID_Specified;
end;

procedure queryMultiFaxWrapper.SetpassWord(Index: Integer; const AWideString: WideString);
begin
  FpassWord := AWideString;
  FpassWord_Specified := True;
end;

function queryMultiFaxWrapper.passWord_Specified(Index: Integer): boolean;
begin
  Result := FpassWord_Specified;
end;

procedure queryMultiFaxWrapper.SetuserID(Index: Integer; const AWideString: WideString);
begin
  FuserID := AWideString;
  FuserID_Specified := True;
end;

function queryMultiFaxWrapper.userID_Specified(Index: Integer): boolean;
begin
  Result := FuserID_Specified;
end;

procedure queryMultiFaxWrapper.SetbatchNO(Index: Integer; const AWideString: WideString);
begin
  FbatchNO := AWideString;
  FbatchNO_Specified := True;
end;

function queryMultiFaxWrapper.batchNO_Specified(Index: Integer): boolean;
begin
  Result := FbatchNO_Specified;
end;

procedure queryMultiFaxWrapper.SetfaxIDS(Index: Integer; const AWideString: WideString);
begin
  FfaxIDS := AWideString;
  FfaxIDS_Specified := True;
end;

function queryMultiFaxWrapper.faxIDS_Specified(Index: Integer): boolean;
begin
  Result := FfaxIDS_Specified;
end;

procedure queryMultiFaxWrapper.SetappCode(Index: Integer; const AWideString: WideString);
begin
  FappCode := AWideString;
  FappCode_Specified := True;
end;

function queryMultiFaxWrapper.appCode_Specified(Index: Integer): boolean;
begin
  Result := FappCode_Specified;
end;

constructor QueryMultiFaxResultWrapper.Create;
begin
  inherited Create;
  FSerializationOptions := [xoLiteralParam];
end;

destructor QueryMultiFaxResultWrapper.Destroy;
begin
  FreeAndNil(FqueryMultiFaxResult);
  inherited Destroy;
end;

procedure QueryMultiFaxResultWrapper.SetqueryMultiFaxResult(Index: Integer; const AEFaxResult: EFaxResult);
begin
  FqueryMultiFaxResult := AEFaxResult;
  FqueryMultiFaxResult_Specified := True;
end;

function QueryMultiFaxResultWrapper.queryMultiFaxResult_Specified(Index: Integer): boolean;
begin
  Result := FqueryMultiFaxResult_Specified;
end;

initialization
  InvRegistry.RegisterInterface(TypeInfo(Fax99WebServiceJobToESISoap), 'http://soap.model.service.fax99.com', 'utf-8');
  InvRegistry.RegisterDefaultSOAPAction(TypeInfo(Fax99WebServiceJobToESISoap), 'http://soap.model.service.fax99.com/%operationName%');
  InvRegistry.RegisterInvokeOptions(TypeInfo(Fax99WebServiceJobToESISoap), ioDocument);
  InvRegistry.RegisterInvokeOptions(TypeInfo(Fax99WebServiceJobToESISoap), ioLiteral);
  InvRegistry.RegisterExternalParamName(TypeInfo(Fax99WebServiceJobToESISoap), 'sendFaxJob', 'parameters1', 'parameters');
  InvRegistry.RegisterExternalParamName(TypeInfo(Fax99WebServiceJobToESISoap), 'queryMultiFax', 'parameters1', 'parameters');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfFaxContactor), 'http://soap.model.service.fax99.com', 'ArrayOfFaxContactor');
  RemClassRegistry.RegisterXSClass(FaxContactor, 'http://soap.model.service.fax99.com', 'FaxContactor');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfFaxFile), 'http://soap.model.service.fax99.com', 'ArrayOfFaxFile');
  RemClassRegistry.RegisterXSClass(Fax, 'http://soap.model.service.fax99.com', 'Fax');
  RemClassRegistry.RegisterXSClass(FaxFile, 'http://soap.model.service.fax99.com', 'FaxFile');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(FaxFile), 'file_', 'file');
  RemClassRegistry.RegisterXSClass(EFaxResult, 'http://soap.model.service.fax99.com', 'EFaxResult');
  RemClassRegistry.RegisterXSClass(SendFaxJobWrapper, 'http://soap.model.service.fax99.com', 'SendFaxJobWrapper');
  RemClassRegistry.RegisterSerializeOptions(SendFaxJobWrapper, [xoLiteralParam]);
  RemClassRegistry.RegisterXSClass(SendFaxJobResultWrapper, 'http://soap.model.service.fax99.com', 'SendFaxJobResultWrapper');
  RemClassRegistry.RegisterSerializeOptions(SendFaxJobResultWrapper, [xoLiteralParam]);
  RemClassRegistry.RegisterXSClass(queryMultiFaxWrapper, 'http://soap.model.service.fax99.com', 'queryMultiFaxWrapper');
  RemClassRegistry.RegisterSerializeOptions(queryMultiFaxWrapper, [xoLiteralParam]);
  RemClassRegistry.RegisterXSClass(QueryMultiFaxResultWrapper, 'http://soap.model.service.fax99.com', 'QueryMultiFaxResultWrapper');
  RemClassRegistry.RegisterSerializeOptions(QueryMultiFaxResultWrapper, [xoLiteralParam]);
  RemClassRegistry.RegisterXSClass(EFaxResult2, 'http://soap.model.service.fax99.com', 'EFaxResult2', 'EFaxResult');

end.